package com.ruoyi.omp.api.domain.vo;

import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 抄表录入对象 omp_ny_check_meter
 *
 * @author cjie
 * @date 2021-07-29
 */
@Data
@ApiModel
public class NyCheckMeterVO implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 费用周期 */
    @JsonFormat(pattern = "yyyy-MM")
    @JSONField(format="yyyy-MM")
    @ApiModelProperty(value = "费用周期")
    private Date feeCycle;

    /** 仪表Id */
    @ApiModelProperty(value = "仪表Id")
    private String meterId;

    /** 仪表编码 */
    @ApiModelProperty(value = "仪表编码")
    private String meterNum;

    @ApiModelProperty(value = "仪表名称")
    private String meterName;

    /** 仪表类型 */
    @ApiModelProperty(value = "仪表类型水表0,电表1,未知-1")
    private String meterType;

    /** 仪表类别(总表,私表..) */
    @ApiModelProperty(value = "仪表类别(总表0,考核表1,私表2..)")
    private String category;

    /** 分摊池初始值 */
    @ApiModelProperty(value = "分摊池初始值")
    private BigDecimal shareInitialValue = new BigDecimal("0");

    /** 当月分摊(总表设定值) */
    @ApiModelProperty(value = "当月分摊(总表设定值)")
    private BigDecimal monthShare;

    /** 抄表记录id */
    @ApiModelProperty(value = "抄表记录id")
    private String checkMaterId;

    /** 倍率 */
    @ApiModelProperty(value = "倍率")
    private BigDecimal magnification;

    /** 上期读数 */
    @ApiModelProperty(value = "上期读数")
    private BigDecimal lastValue;

    /** 本期读数 */
    @ApiModelProperty(value = "本期读数")
    private BigDecimal currentValue;

    /** 实际用量 */
    @ApiModelProperty(value = "实际用量")
    private BigDecimal actualDosage;

    //园区编号
    @ApiModelProperty(value = "园区编号")
    private String parkNum;

    //园区id
    @ApiModelProperty(value = "园区id")
    private String parkId;

    @ApiModelProperty(value = "企业编号")
    private String enterpriseId;

    @ApiModelProperty(value = "企业名称")
    private String enterpriseName;

    private String meterModel;

    private String installPosition;

    private List<NyCheckMeterVO> children = new ArrayList<NyCheckMeterVO>();

}

